all : test1 test1.exe

COMPILE=g++ -I ../../../include -march=pentium3 -mfpmath=sse  -O3

#################################################
MONO_OPTS=\
--optimize=inline \
--optimize=cfold \
--optimize=consprop \
--optimize=copyprop \
--optimize=deadce \
--optimize=intrins \
--optimize=loop \
--optimize=peephole \
--optimize=branch \
--optimize=linears \
--optimize=cmov \
--optimize=shared \
--optimize=sched \
--optimize=tailc \
--optimize=fcmov \
--optimize=leaf \
--optimize=precomp \
--optimize=abcrem \
--optimize=ssapre \
--optimize=exception \
--optimize=ssa \
--optimize=treeprop \
#--optimize=aot \


#################################################



clean :
	rm -f test1 test1.exe

test1 : test1.cpp
	$(COMPILE) -o test1 test1.cpp

test1.exe : test1.cs
	gmcs -optimize+ -out:test1.exe -reference:saru.dll test1.cs

run : all
	-time -p mono $(MONO_OPTS) ./test1.exe

speedtest : all
	@echo Initializing...
	-time -p mono $(MONO_OPTS) ./test1.exe > /dev/null 2> /dev/null
	-time -p ./test1     > /dev/null 2> /dev/null
	-time -p ./test1     > /dev/null 2> /dev/null
	-time -p mono $(MONO_OPTS) ./test1.exe > /dev/null 2> /dev/null
	@echo Running...
	echo "===[C++]==="   > speedtest.0
	-time -p ./test1     >> speedtest.0 2>> speedtest.0
	echo "===[C#]==="    >> speedtest.0
	-time -p mono $(MONO_OPTS) ./test1.exe >> speedtest.0 2>> speedtest.0




